Next: C Indent, Previous: Multi-line Indent, Up: Program Indent [Contents][Index]
The indentation pattern for a Lisp expression can depend on the function called by the expression. For each Lisp function, you can choose among several predefined patterns of indentation, or define an arbitrary one with a Lisp program.
The standard pattern of indentation is as follows: the second line of the expression is indented under the first argument, if that is on the same line as the beginning of the expression; otherwise, the second line is indented underneath the function name. Each following line is indented under the previous line whose nesting depth is the same.
If the variable lisp-indent-offset is
non-nil, it overrides the usual indentation pattern
for the second line of an expression, so that such lines are
always indented lisp-indent-offset more columns than
the containing list.
Certain functions override the standard pattern. Functions
whose names start with def treat the second lines as
the start of a body, by indenting the second line
lisp-body-indent additional columns beyond the
open-parenthesis that starts the expression.
You can override the standard pattern in various ways for
individual functions, according to the
lisp-indent-function property of the function name.
This is normally done for macro definitions, using the
declare construct. See
Defining Macros in the Emacs Lisp Reference
Manual.